// 1672
// 给你一个 m x n 的整数网格 accounts ，其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。
// 返回最富有客户所拥有的 资产总量 。

// 客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。

// 输入：accounts = [[1,2,3],[3,2,1]]
// 输出：6
// 解释：
// 第 1 位客户的资产总量 = 1 + 2 + 3 = 6
// 第 2 位客户的资产总量 = 3 + 2 + 1 = 6
// 两位客户都是最富有的，资产总量都是 6 ，所以返回 6 。

// 输入：accounts = [[1,5],[7,3],[3,5]]
// 输出：10
// 解释：
// 第 1 位客户的资产总量 = 6
// 第 2 位客户的资产总量 = 10 
// 第 3 位客户的资产总量 = 8
// 第 2 位客户是最富有的，资产总量是 10

/**
 * @param {number[][]} accounts
 * @return {number}
 */
var maximumWealth = function (accounts) {
  var total = 0
  for (var i = 0; i < accounts.length; i++) {
    var item = 0
    for (var j = 0; j < accounts[i].length; j++) {
      item += accounts[i][j]
    }
    if (item > total) {
      total = item
    }
  }
  return total
};

// console.log(maximumWealth([[1,5],[7,3],[3,5]]))
// console.log(maximumWealth([[1,2,3],[3,2,1]]))
// 通过就是一个普通的遍历
// 优化速度
// 基本是这样



// 1480
// 给你一个数组 nums 。数组「动态和」的计算公式为：runningSum[i] = sum(nums[0]…nums[i]) 。

// 请返回 nums 的动态和。

// 输入：nums = [1,2,3,4]
// 输出：[1,3,6,10]
// 解释：动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var runningSum = function (nums) {
  let total = []
  total.push(
    nums.reduce((a, b) => {
      total.push(a)
      return a + b
    })
  )
  return total
};

runningSum([1, 2, 3, 4])

// 数组中字符串出现次数
function fn() {
  var names = ['name1', 'name2', 'name1']
  console.log(
    names.reduce((a, b) => {
      console.log(a)
      if (a[b]) {
        a[b]++
      } else {
        a[b] = 1
      }
      return a
    }, {})
  )
}
// fn()

